Setup Notes
===========

        Broadcom NetXtreme II Gigabit Ethernet Controller Bootcode

             Copyright (c) 2003-2009 Broadcom Corporation
                          All rights reserved.


Updated: 
- January 06, 2009: Updated copyright notice.
- August 15, 2008: Modified for 5716.
- January 16, 2008: Refresh the NVRAM programming for new NIC/LOM to 
  support 5709.
- April 13, 2006: 


Programming Non-volatile Memory for New NIC/LOM
===============================================

Perform the steps below only with a board that has nothing in the flash
memory. Otherwise, your existing configuration will be erased. 

Bootcode installation setup (A user needs to familiarize oneself with
some basic DOS commands):

0. Once booted to DOS, change directory to where the diagnostic tool
   resides. (Use "cd" command).
1. Start the diagnostics in engineering mode (Type "xdiag -b06eng").
2. Make sure the first 1.5 kB of flash content are zeroes. Type
   "nvm fill 0 0x600 0".
3. Upgrade the boocode: Type "nvm upgrade -bc <filename>" at the 
   prompt. 
      - The <filename> can include directory path in which the file is 
        found. Contrary to the DOS convention, make sure to use forward 
        slashes for path separators.
      - For 5716 chip, please use 5709C boot code.
4. Configure device with the command "nvm cfg".
   - At the new prompt, type "default" to restore default configuration.
   - Then, at the next prompt, type "16=10" to select the 32M BAR size.
     However, skip if you have 5716.
   - Then, at the next prompt, type "1=00:10:18:xx:xx:xx" to program 
     the primary MAC address for that particular board.
   - Then, at the next prompt, type "33=00:10:18:yy:yy:yy" to program 
     the iSCSI MAC address for that particular board. This step is not
     necessary for 5716 chip.
   - Then, type "save" to exit "nvm cfg" command.
5. Repeat step 4 on the secondary device if you have 5709/16.
6. Power cycle (not just a reboot) the system and then restart xdiag 
   in engineering mode.
7. Verify the BAR setting.
   - Type "nvm cfg".
   - Check entry 16 to make sure it indicates the size of 32M for
     5706/08/09. The size is 256k for 5716.
   - Check the same entry 16 setting for the secondary device if you
     have 5709/16.
   - Type "cancel" to exit.
8. Terminate the xdiag session by typing "exit".


-----------------------------------------------------------------------------

Restoring corrupted NIC/LOM
===========================

There may be times where the flash contents are corrupted due to 
improper programming or other reasons. As a result, the device may not 
appear as a proper device in xdiag (it usually shows the device with a 
message about "Invalid NVRAM content"). When this occurs, follow the 
steps below.

1. Boot to DOS and invoke xdiag to engineering mode (type "xdiag 
   -b06eng).
2. Again, the device will have an "Invalid NVRAM content" message.
3. Type "pci scan" to locate the corrupted device. Particularly, check
   on the vendor ID (0x14e4) and device ID.
4. Once located, jot down the bus/device/function numbers of that 
   device.
5. Type "pci setdut <bus> <device> <function>" where the <> parameters
   are from the information gathered in step #4. 
6. Now, the device is selected as a generic PCI device.
7. Type "pcicfg write 0x68 0x88" to make sure we can access the internal
   registers of the device.
8. Type "initNVM" to configure the NVRAM block of the chip.
9. Type "writeNVM 0 0" to disable the boot code completely.
10.Power cycle (NOT just a ctrl-alt-del reboot) the entire system.
11.Re-enter the engineering mode of xdiag (see step #1). The device
   should now be visible to xdiag (i.e. no more "Invalid NVRAM content"
   message). Now, follow the steps in "Programming Non-volatile Memory 
   for New NIC/LOM" section above to re-program the device properly.


-----------------------------------------------------------------------------

5706 FPGA only:
===============

FPGA and system setup (disclaimer - It is assumed that the Coldwater 
board is properly built and no additional hardware modification is 
done.  Otherwise, the instructions here may not apply. Also, at this
time only ProLiant ML350 system has been tested.):

1. Make sure a correct version of the RTL database is loaded (v.70 or 
   later) into the FPGA. Refer to the Coldwater documentation on how 
   the RTL database can be loaded into the FPGA.
2. Make sure the system has a bootable DOS partition in its harddrive 
   and at least one appropriate version (version 0.6.1 or later) of the 
   diagnostic tool is installed. (Please refer to the "setup.txt" of 
   the diagnostic tool for its installation.)
3. Before inserting the Coldwater board into the system, make sure all 
   dip switches are in their OFF (down, with the PCI interface pointing
   downward) positions. If not, make them so.
4. Make sure the system is "unplugged".
5. Insert the board into any 64-bit PCI slot of the system.
6. Make sure the Coldwater board is connected to a link partner with
   10Mbps full duplex set up. A loopback network will also work.
7. Power on the Coldwater board. (Refer to Coldwater documentation on
   the proper method of supply power to the board. The board can be
   destroyed if this is not done properly.)
8. After five seconds, connect the power to the system.
9. Power on the system and boot to DOS.


